查看原文
其他

本地快速体验 Kylin「分析篇」

李森辉 apachekylin 2022-04-23

「搭建篇」中李森辉为大家介绍了如何在自家电脑上快速搭建好 Apache Kylin 。通过 Kylin 自带的简单图表展示来进行数据分析的你是否觉得还不够过瘾?想在酷炫的仪表盘上进行数据分析?今天就给大家带来一款上手较快,简单易用的数据驱动式 Notebook 工具——Apache Zeppelin。将 Zeppelin 与Kylin 集成后,你就可以通过它来定制你的数据可视化报告,更直观地体验 Kylin 的分析“神”速啦~


与 Kylin 一样, Apache Zeppelin 也是 Apache 软件基金会的顶级项目,是一款基于 Web 的 Notebook(类似于 IPython 的 Notebook),支持交互式的数据分析,原生就支持 Spark、Scala、SQL、Shell、Markdown 等编程或脚本语言。访问其官方网站(https://zeppelin.apache.org)可了解更多的信息。

      △ Apache Zeppelin


下载与安装

Zeppelin 也有一套类似 Kylin 的可插拔框架机制,为不同的编程或脚本语言提供对应的解释器接口,实际使用过程中通过(%+解释器名称)来识别,因此在下载页面可看到有两个不同的版本:

  • all 版本:软件包里面包含 Zeppelin 支持的所有编程语言的解释器。

  • netinst 版本:软件包里面只包含了 Spark、Shell  等基础编程语言的解释器,其它语言解释器可按需安装。netinst 的含义即是通过网络安装。


建议下载 netinst 版本的软件包,其它编程或脚本语言可通过插件安装方式扩展,通过 SSH 终端工具上传到虚拟电脑,或者直接在虚拟电脑上通过 wget/curl 命令下载到本地。


然后,解压 Zeppelin 软件包到自定义的安装目录下面,进入到 conf 文件夹下,将原有的 zeppelin-site.xml.template 配置文件拷贝另存名称为 zeppelin-site.xml 文件。该文件中主要包括 Zeppelin 服务相关的配置项,如对外访问端口默认为 8080,可修改成自定义的端口号,其它参数配置也可按实际情况进行修改。更加详细的参数配置说明,可访问官方提供的说明(https://zeppelin.apache.org/docs/0.8.0/setup/operation/configuration.html)。完成配置参数自定义修改后,重新切换到  Zeppelin 安装目录,执行如下的命令,便以后台常驻形式启动 Zeppelin 服务:

[kylin@quickstart zeppelin-0.8.1-bin-netinst]$ bin/zeppelin-daemon.sh start


最后,打开浏览器在地址栏中输入:http://虚拟电脑IP地址:8080/,敲下回车键,即可成功访问和使用 Zeppelin 服务。


集成Apache Kylin

手动添加 Kylin 的解释器,在 Zeppelin 的安装目录下执行如下的命令进行安装操作,安装完成后需要重启 Zeppelin 服务。

[kylin@quickstart zeppelin-0.8.1-bin-netinst]$ bin/install-interpreter.sh --name kylin --artifact org.apache.zeppelin:zeppelin-kylin:0.8.1

[kylin@quickstart zeppelin-0.8.1-bin-netinst]$ bin/zeppelin-daemon.sh restart


然后,对 Kylin 的解释器进行相关配置,通过浏览器访问并打开 Zeppelin Notebook 页面,在页面左上角的菜单进入到解释器的配置页面找到 Kylin 标题,将 Kylin REST API 相关的信息进行配置,如 API 地址、用户名、密码等信息,可参考下图所示:

      △ Kylin 解释器配置


最后,可创建一个简单的 Notebook 进行初步的验证。创建新的 Notebook 需要填充 2 个关键的参数:Note Name(支持目录级创建),默认的解释器类型(不需要添加 %+ 解释器,这里选取 kylin ),如下图所示:

      △ 创建 Notebook


接着在代码段输入查询 SQL 语句,点击右上角的执行按钮即可得到如下图所示的结果:

      △ Kylin Query on Zeppelin


制作数据仪表盘

设计定制化的数据报表之前,需要先来熟悉下 Zeppelin 的 Notebook UI 界面布局。前面集成 Kylin 操作中已经提及到创建 Notebook 的操作,正如“创建 Notebook”图中所示,通过 Notebook 下拉菜单,可以有如下的操作:

  • Create new notebook

  • Filter

  • Folder/notebook


Zeppelin 的 Notebook 是由不同的段落(卡片)组合而成的,创建好一个新的 Notebook 后,默认也会创建一个新的卡片,执行查询后在界面上可清晰看到如下图所示的区域划分:

      △ Notebook 区域划分


  • 绿色:功能区域,包括执行、展开/收缩、显示/隐藏、设置等操作

  • 红色:代码(SQL 语句)编辑区域

  • 黄色:可视化显示类型区域,切换不同的显示方式

  • 黑色:结果显示设置区域,针对不同的显示效果做相应的设置调整

  • 蓝色:可视化结果显示区域


注:Zeppelin 的卡片不支持直接拖拽排列布局,需要通过功能区来操作(或是快捷键按钮),关于功能区域各按钮作用说明可参考官方网站说明:https://zeppelin.apache.org/docs/0.8.0/quickstart/explore_ui.html#note-toolbar 。


在了解清楚 Zeppelin Notebook 的布局和使用后,可得知通过不同卡片的组合就能轻松实现定制化的数据报表,那么只需要根据自己的想法来创建不同类型的数据卡片,最终形成与自己想法一致的数据仪表盘,通过 Zeppelin 的 Report 模式发布后可直接访问,如下图所示。

      △ 数据仪表盘示例


扩展可视化插件

Zeppelin 自带的可视化图形并不是很丰富,只有常见的 5 种类型,包括有表格、柱形图、饼图、面积图、折线图和散点图。这些图形常常不能满足我们做定制化报表的需求,Zeppelin 提供了基于 Helium 框架来丰富可视化组件的方式,扩展操作也是相当的方便,在页面右上角的下拉菜单中找到 Helium,点击跳转到 Helium 可视化组件列表页面。浏览并找到所需要的可视化类型,点击右侧的 Enable 按钮并在弹出的窗口中点击 OK 按钮,稍等一会便可完成新的可视化组件的扩展,如下图所示:

      △ 扩展可视化插件


注意,新开启的可视化组件需要重启后才能生效,在 Zeppelin 安装目录下执行如下命令进行重启,然后重新打开 Notebook,在卡片的功能区上面便可查看到新可视化组件按钮。

[kylin@quickstart zeppelin-0.8.1-bin-netinst]$ bin/zeppelin-daemon.sh restart


总结

通过 Kylin+Zeppelin 集成来制作定制化数据报表,你能发现“麒麟”神兽除具有神速以外,还有强大的可扩展性能与 BI 工具友好的对接。除了本文中介绍到的 Zeppelin 之外,Kylin 还能对接很多 BI 工具,比如:Superset、CBorad、Tableau、Power BI、 帆软 BI 、永洪 BI 等等。甚至,你还可以根据自身的需求,定制开发个性化的数据报表平台。用一句时髦的话来说,就是“没有做不到的,只有你想不到的”。


作者简介:李森辉,Kyligence 解决方案架构师,拥有丰富的软件开发与架构设计经验,熟悉大数据数仓平台建设,目前主要负责金融行业类的大数据数仓平台解决方案设计。



首届 Kylin Data Summit 大会日程新鲜出炉,来自 Gartner、Kyligence、建行、eBay、微软、滴滴等 20+ 企业的技术大咖邀您共话大数据前沿:

  • Gartner 研究总监,Julian Sun《2019 年数据管理及分析领域十大战略性技术趋势》

  • 建设银行架构团队技术总监,朱志《过去、现在和未来,银行大数据的演变趋势是什么?》

  • eBay 中国研发中心总经理,田卫《增强分析(Augmented Analytics)将如何赋能 eBay 的大数据分析?》

  • 滴滴出行技术专家,靳国卫《滴滴 Kylin 自助式治理与演进之路》

  • 好买财富架构总监,王晔倞《中间件运维分析的选型与实践》

  • eBay 资深研发工程师,钟阳红《基于 Apache Kylin 的实时 OLAP 引擎构建》

  • Kyligence 首席架构师,史少锋《增强分析技术与 Apache Kylin 的未来》


目前大会购票火热进行中,5 人团购享全网最低价,长按识别下方二维码或点击“阅读原文”了解更多大会详情!Apache Kylin 社区 Contributor 可联系 K 小助(微信号:uncertainly5)获取赠票,添加为好友后需回复“赠票”。

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存